The Atanasoff–Berry Computer (ABC) was the first electronic digital computing device.[1] Conceived in 1937, the machine was not programmable, being designed only to solve systems of linear equations. It was successfully tested in 1942. However, its intermediate result storage mechanism, a paper card writer/reader, was unreliable, and when inventor John Vincent Atanasoff left Iowa State College for World War II assignments, work on the machine was discontinued.[2] The ABC pioneered important elements of modern computing, including binary arithmetic and electronic switching elements,[3] but its special-purpose nature and lack of a changeable, stored program distinguish it from modern computers. The computer was designated an IEEE Milestone in 1990.[4]
Atanasoff and Clifford Berry's computer work was not widely known until it was rediscovered in the 1960s, amidst conflicting claims about the first instance of an electronic computer. At that time, the ENIAC was considered to be the first computer in the modern sense, but in 1973 a U.S. District Court invalidated the ENIAC patent and concluded that the ENIAC inventors had derived the subject matter of the electronic digital computer from Atanasoff (see Patent dispute).
Contents |
According to Atanasoff's account, several key principles of the Atanasoff–Berry Computer were conceived in a sudden insight after a long nighttime drive during the winter of 1937–38. The ABC innovations included electronic computation, binary arithmetic, parallel processing, regenerative capacitor memory, and a separation of memory and computing functions. The mechanical and logic design was worked out by Dr. Atanasoff over the next year. A grant application to build a proof of concept prototype was submitted in March 1939 to the Agronomy department which was also interested in speeding up computation for economic and research analysis. $5,000 of further funding to complete the machine came from the nonprofit Research Corporation of New York City.
The ABC was built by Dr. Atanasoff and graduate student Clifford Berry in the basement of the physics building at Iowa State College during 1939–42. The initial funds were released in September, and the 11-tube prototype was first demonstrated in October, 1939. A December demonstration prompted a grant for construction of the full-scale machine.[5] The ABC was built and tested over the next two years. A January 15, 1941 story in the Des Moines Register announced the ABC as "an electrical computing machine" with more than 300 vacuum tubes that would "compute complicated algebraic equations" (but gave no precise technical description of the computer). The system weighed more than seven hundred pounds (320 kg). It contained approximately 1 mile (1.6 km) of wire, 280 dual-triode vacuum tubes, 31 thyratrons, and was about the size of a desk.
It was not a Turing complete computer, which distinguishes it from more general machines, like contemporary Konrad Zuse's Z3 (1941), or later machines like the 1946 ENIAC, 1949 EDVAC, the University of Manchester designs, or Alan Turing's post-War designs at NPL and elsewhere. Nor did it implement the stored program architecture that made practical fully general-purpose, reprogrammable computers.
The machine was, however, the first to implement three critical ideas that are still part of every modern computer:
In addition, the system pioneered the use of regenerative capacitor memory, as in the DRAM still widely used today.
The memory of the Atanasoff–Berry Computer was a pair of drums, each containing 1600 capacitors that rotated on a common shaft once per second. The capacitors on each drum were organized into 32 "bands" of 50 (30 active bands and 2 spares in case a capacitor failed), giving the machine a speed of 30 additions/subtractions per second. Data was represented as 50-bit binary fixed point numbers. The electronics of the memory and arithmetic units could store and operate on 60 such numbers at a time (3000 bits).
The alternating current power line frequency of 60 Hz was the primary clock rate for the lowest level operations.
The arithmetic logic functions were fully electronic, implemented with vacuum tubes. The family of logic gates ranged from inverters to two and three input gates. The input and output levels and operating voltages were compatible between the different gates. Each gate consisted of one inverting vacuum tube amplifier, preceded by a resistor divider input network that defined the logical function. The control logic functions, which only needed to operate once per drum rotation and therefore did not require electronic speed, were electromechanical, implemented with relays.
Although the Atanasoff–Berry Computer was an important step up from earlier calculating machines, it was not able to run entirely automatically through an entire problem. An operator was needed to operate the control switches to set up its functions, much like the electro-mechanical calculators and unit record equipment of the time. Selection of the operation to be performed, reading, writing, converting to or from binary to decimal, or reducing a set of equations was made by front panel switches and in some cases jumpers.
There were two forms of input and output: primary user input and output and an intermediate results output and input. The intermediate results storage allowed operation on problems too large to be handled entirely within the electronic memory. (The largest problem that could be solved without the use of the intermediate output and input was two simultaneous equations, a trivial problem.)
Intermediate results were binary, written onto paper sheets by electrostatically modifying the resistance at 1500 locations to represent 30 of the 50 bit numbers (one equation). Each sheet could be written or read in one second. The reliability of the system was limited to about 1 error in 100,000 calculations by these units, primarily attributed to lack of control of the sheets' material characteristics. In retrospect a solution could have been to add a parity bit to each number as written. This problem was not solved by the time Atanasoff left the university for war-related work.
Primary user input was decimal, via standard IBM 80 column punched cards and output was decimal, via a front panel display.
Name | First operational | Numeral system | Computing mechanism | Programming | Turing complete |
---|---|---|---|---|---|
Zuse Z3 (Germany) | May 1941 | Binary floating point | Electro-mechanical | Program-controlled by punched 35 mm film stock (but no conditional branch) | In theory (1998) |
Atanasoff–Berry Computer (US) | 1942 | Binary | Electronic | Not programmable—single purpose | No |
Colossus Mark 1 (UK) | February 1944 | Binary | Electronic | Program-controlled by patch cables and switches | No |
Harvard Mark I – IBM ASCC (US) | May 1944 | Decimal | Electro-mechanical | Program-controlled by 24-channel punched paper tape (but no conditional branch) | No |
Colossus Mark 2 (UK) | June 1944 | Binary | Electronic | Program-controlled by patch cables and switches | In theory (2011) |
Zuse Z4 (Germany) | March 1945 | Binary floating point | Electro-mechanical | Program-controlled by punched 35 mm film stock | Yes |
ENIAC (US) | July 1946 | Decimal | Electronic | Program-controlled by patch cables and switches | Yes |
Manchester Small-Scale Experimental Machine (Baby) (UK) | June 1948 | Binary | Electronic | Stored-program in Williams cathode ray tube memory | Yes |
Modified ENIAC (US) | September 1948 | Decimal | Electronic | Read-only stored programming mechanism using the Function Tables as program ROM | Yes |
EDSAC (UK) | May 1949 | Binary | Electronic | Stored-program in mercury delay line memory | Yes |
Manchester Mark 1 (UK) | October 1949 | Binary | Electronic | Stored-program in Williams cathode ray tube memory and magnetic drum memory | Yes |
CSIRAC (Australia) | November 1949 | Binary | Electronic | Stored-program in mercury delay line memory | Yes |
The ABC was designed for a specific purpose, the solution of systems of simultaneous linear equations. It could handle systems with up to twenty-nine equations, a difficult problem for the time. Problems of this scale were becoming common in physics, the department in which John Atanasoff worked. The machine could be fed two linear equations with up to twenty-nine variables and a constant term and eliminate one of the variables. This process would be repeated manually for each of the equations, which would result in a system of equations with one fewer variable. Then the whole process would be repeated to eliminate another variable.
J. Presper Eckert and John Mauchly were the first to patent a digital computing device, the ENIAC. The ABC had been examined by John Mauchly in June 1941, and Isaac Auerbach,[6] a former student of Mauchly's, alleged that it influenced his later work on ENIAC, although Mauchly denied this (Shurkin, pg. 280-299). In 1967 Honeywell sued Sperry Rand in an attempt to break their ENIAC patents, arguing the ABC constituted prior art. The United States District Court for the District of Minnesota released its judgement on October 19, 1973, finding in Honeywell v. Sperry Rand that the ENIAC patent was a derivative of John Atanasoff's invention. The decision was not appealed.
Campbell-Kelly and Aspray conclude:
The extent to which Mauchly drew on Atanasoff's ideas remains unknown, and the evidence is massive and conflicting. The ABC was quite modest technology, and it was not fully implemented. At the very least we can infer that Mauchly saw the potential significance of the ABC and that this may have led him to propose a similar, electronic solution.
The case was legally resolved on October 19, 1973 when U.S. District Judge Earl R. Larson held the ENIAC patent invalid, ruling that the ENIAC derived many basic ideas from the Atanasoff–Berry Computer. Judge Larson explicitly stated, "Eckert and Mauchly did not themselves first invent the automatic electronic digital computer, but instead derived that subject matter from one Dr. John Vincent Atanasoff".
The original ABC was eventually dismantled, when the University converted the basement to classrooms, and all of its pieces except for one memory drum were discarded. In 1997, a team of researchers led by John Gustafson from Ames Laboratory (located on the Iowa State campus) finished building a working replica of the Atanasoff–Berry Computer at a cost of $350,000. The replica ABC is now on permanent display in the first floor lobby of the Durham Center for Computation and Communication at Iowa State University. It is currently on loan to the Computer History Museum in Mountain View, California for a major exhibition